package com.serviportales.serviquality.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import com.serviportales.serviportales.model.GenericEntity;

@Entity
@Table(name = "TSQ_CAL_PROYECTO_NODO", uniqueConstraints = { @UniqueConstraint(columnNames = { "CDNODO", "CDTIPO_NODO", "CDARBOL_NODO", "CDARBOL_USER", "USER_ID" }) })
public class CalProyectoNodo extends GenericEntity<CalProyectoNodo> {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "scCalProyectoNodo")
	private Long scCalProyectoNodo;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "CDNODO", referencedColumnName = "CDNODO"), @JoinColumn(name = "CDTIPO_NODO", referencedColumnName = "CDTIPO_NODO"), @JoinColumn(name = "CDARBOL_NODO", referencedColumnName = "CDARBOL") })
	private ProyectoNodo proyectoNodo;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "CDARBOL_USER", referencedColumnName = "CDARBOL"), @JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID") })
	private ProyectoUser proyectoUser;

	@Column(name = "CALIFICACION", nullable = false)
	private Long calificacion;

	@Column(name = "CONCLUSION", length = 700, nullable = true)
	private String conclusion;

	public String getConclusion() {
		return conclusion;
	}

	public void setConclusion(String conclusion) {
		this.conclusion = conclusion;
	}

	public Long getCalificacion() {
		return calificacion;
	}

	public void setCalificacion(Long calificacion) {
		this.calificacion = calificacion;
	}

	public Long getScCalProyectoNodo() {
		return scCalProyectoNodo;
	}

	public void setScCalProyectoNodo(Long scCalProyectoNodo) {
		this.scCalProyectoNodo = scCalProyectoNodo;
	}

	public ProyectoNodo getProyectoNodo() {
		return proyectoNodo;
	}

	public void setProyectoNodo(ProyectoNodo proyectoNodo) {
		this.proyectoNodo = proyectoNodo;
	}

	public ProyectoUser getProyectoUser() {
		return proyectoUser;
	}

	public void setProyectoUser(ProyectoUser proyectoUser) {
		this.proyectoUser = proyectoUser;
	}
}
